In the case of a wind instrument, the structure for synthesizing tones typically includes a filtered delay loop, i.e., a closed loop which includes a delay having a length corresponding to one period of the tone to be generated, and a filter which may attenuate and/or further delay signals circulating in the loop.
When the acoustic bore being imitated is not a uniform cylinder or cone, a plurality of closed loops are typically employed. Each closed loop corresponds to a single section of uniform cylindrical or conical acoustic tube, and the sections are coupled together by means of so-called scattering junctions. In the case of two adjacent acoustic tube sections having different diameters or different conical taper angles at the point of contact, the corresponding scattering junction typically receives an input signal from each section and provides an output signal to each section. The output to each section typically includes a filtering of the input signal from that section, called the reflected signal, and it typically also includes a filtering of the input signal from the adjacent section, called the transmitted signal from the adjacent section.
To excite a filtered delay loop with an input signal, a filtered delay loop may be coupled to a nonlinear junction which receives control inputs such as a signals corresponding to blowing pressure and embouchure, and which nonlinearly interacts with the signal received from the filtered delay loop so as to produce a sustained oscillation in the loop. The nonlinear junction typically corresponds to the reed in a woodwind instrument, the air-jet in a flute-like instrument, or the lips in a brass instrument.
Excitation signals introduced into a closed loop circulate in the loop. A signal may be extracted from the loop to form a tone signal. The signal will decay in accordance with the filtering characteristics in the loop. Additionally, the resonance frequencies of the loop are also affected by the filtering characteristics. The filter models frequency-dependent losses and delays within the bore of the instrument. A portion of these losses correspond to sound propagating out of the the bell or toneholes of the instrument. Other losses may correspond to the conversion of acoustic wave energy to heat. A portion of the frequency-dependent delay may correspond to the different effective tube length at the end of an open acoustic tube. More generally, acoustical waves experience partial reflection and dispersion when they encounter changes in the flare angle of the acoustic tube in which they propagate. In order to accurately model a natural musical instrument, therefore, it has been necessary to provide one or more filters in the filtered delay loop which give the desired losses, dispersion, and reflections found in a natural acoustic wind instrument.
A block diagram for a tone synthesis system as described above is illustrated in FIG. 1B for the case of a brass-type instrument shown in FIG. 1A. The instrument in this example consists of a mouthpiece 2 driven by the player's lips 1, a first conical bore section 3, a cylindrical bore section 4, a second conical bore section 5, and a final flaring bell segment 6. Since cylindrical and conical bores support traveling waves, the sound within them can be expressed in terms of left-going and right-going traveling-wave components. The right-going traveling-wave components in the cylindrical section, for example, correspond to the contents of delay element 16, and the left-going traveling-wave components in the cylindrical section correspond to the contents of delay element 17.
The cylindrical section 4 can be modeled well as simply a pair of delay elements. In reality there are small losses associated with acoustic propagation from one end of the cylinder to the other. However, for greater processing efficiency, such losses are typically applied elsewhere, such as at the junctions 7 and/or 8 between the cylinder and the adjacent acoustic tube sections.
As is known in the art, the conical sections 3 and 5 can also be modeled as a pair of delay elements. However, in this case, pressure waves traveling to the right are attenuated by 1/x, where x is the distance of the wave from the extrapolated apex of the cone containing the conical section.
When a right-going traveling wave encounters the bell 6, a portion of it transmits through the bell into the outside air (which can be heard), and a portion of it reflects back into the bore 5 to help sustain the oscillation. This reflected signal is obtained by applying lowpass filter 13 to the right-going traveling-wave-component signal 30 to obtain the corresponding reflected wave 31 which then becomes the left-going traveling-wave-component signal entering the conical section 5 on its right side. The signal transmitted from the bell may be obtained by applying a transmission filter 61, which typically resembles a highpass filter, to the incident right-going wave 30 to obtain the final output tone signal. A simple implementation of the the output highpass filter (transmission filter) is formed by simply adding the pressure-wave signals 30 and 31, corresponding to a lossless bell model, with a microphone placement just outside the bell. (For pressure waves, the reflection filter 13 inverts at low frequencies.) In simplified tone generators, any traveling-wave component, such as 30, can be taken as the output signal.
In a manner analogous to the bell reflection just described, when a right-going traveling-wave 40 in the cylindrical section encounters a change 7 in the taper angle of the bore, it splits into a reflected signal 41 and transmitted signal 42. The reflected signal 41 is obtained by applying the reflection filter 18 to the incident wave 40, and the transmitted signal 42 is obtained by applying the transmission filter 43 to the incident wave 40. It is well known in the art that the ideal reflection filter 18 has the transfer function ##EQU1##
where c is the speed of sound, x is the distance from the apex of the conical segment 5 (which must be extrapolated far to the left in FIG. 1A) to the junction 7, and s is the Laplace-transform variable. For very large wavelengths, the imaginary part of s is close to zero, and the reflection filter becomes close to a simple inverting reflection R(0)=-1.
It is known in the art that the reflection filter 14, for waves 32 traveling in from the other side of the junction, has the same transfer function R(s). Finally, it is also known that the transmission is filters 43 and 44 both have the transfer function EQU T(s)=1+R(s).
A filtered delay loop 10 is formed by delay elements 11 and 12, lowpass filter 13, and reflection filter 14. Input signals are introduced in to this filtered delay loop by means of adder 15. The delay elements 11 and 12 are normally combined into a single delay element for greater efficiency, as is known.
A second filtered delay loop is formed by delay elements 16 and 17, reflection filter 18, and reflection filter 23. Input signals are introduced in to this filtered delay loop by means of adder 25 and adder 45. The delay elements 16 and 17 can also be combined into a single delay element for greater efficiency.
A third filtered delay loop is comprised of delay elements 51 and 52, reflection filter 21, and a port connecting to the nonlinear junction 53. Excitation signals enter this circulating signal path via adder 26 and the nonlinear junction 53.
The sum of the lengths of all of the delay elements 11, 12, 16, 17, 51, and 52 are approximately equal to the pitch period of the synthesized tone.
The general function of the nonlinear junction 53 is to sustain the oscillations of the synthesized tone. The input embouchure signal 56 is a typical control input corresponding to the way the player's lips are pressed against the mouthpiece before and during the performance of a musical note. The input pressure signal 55 corresponds to the air pressure in the player's mouth at the lips, and it is the primary control signal which starts and drives the oscillation in the filtered delay loops. Signal combining means used in nonlinear junctions remain subjects of ongoing research, but many cases have been described in the art.
In a MIDI keyboard type of synthesizer, the embouchure signal 56 may be obtained from a modulation wheel, while the pressure signal 55 may be obtained from a breath controller. Key-velocity may be used to influence the attack shape of the pressure signal, and after-touch may be used to control vibrato, and so on. The key-number determines the pitch period which is controlled by appropriately changing of one or more of the delay element lengths. In a wind controller type of interface, the actual breath pressure and embouchure of the wind-controller player may be measured, appropriately scaled, and provided as control inputs for the nonlinear junction 53.
A scattering junction 20, corresponding to the junction between conical section 3 and cylindrical section 4, is comprised of the reflection filter 21, transmission filter 22, reflection filter 23, transmission filter 24, and adders 25 and 26. Adder 25 combines the transmitted signal leaving conical section 3 with the signal reflecting back into the cylindrical section 4. Adder 26 similarly combines the transmitted and reflected signals which are both going to the left into conical section 3. As is known in the art, it is possible to implement the scattering junction 20 using only the reflection filter 21 and three adders. However, such variations, which result from the special structure of the reflection and transmission filters described above, are well known and need not concern us here. FIG. 1B is drawn instead to illustrate more clearly the correspondence between the signal processing elements of the tone synthesizer and the acoustical elements of the physical instrument shown in FIG. 1A.
A second scattering junction 60, corresponding to the junction between cylindrical section 4 and conical section 5, consists of reflection filter 18, transmission filter 43, reflection filter 14, transmission filter 44, and adders 15 and 45.
Finally, note that the reflection and transmission filtering associated with the bell can be regarded as a scattering junction 62 in which waves traveling into the bell from the right are neglected. More generally, any section of an arbitrary acoustic tube can be characterized as a scattering junction containing two reflection and two transmission filters; the only difference relative to the simpler cylinder-cone scattering junction 60, for example, is that the reflection and transmission filters are no longer one-pole filters, but may have arbitrarily high order. Nevertheless, it is an important general principle, known in the art, that such a scattering representation exists when an acoustic tube profile is neither cylindrical nor conical, but rather follows some other more complicated shape.
The system of FIG. 1B illustrates the essential ingredients for high quality tone synthesis of a wind musical instrument. In a similar manner, using the elements described in this example, tone synthesis processing can be defined for all kinds of wind instruments. In general, every change in conical taper-angle in a wind instrument bore can be modeled as a scattering junction which is in turn characterized by a specific one-pole filter, and every non-conical, non-cylindrical bore section can be modeled as a scattering junction comprised of reflection and transmission filters which are generally high-order filters. Uniform conical and cylindrical sections are modeled simply as delay elements, and the junctions between these elements involve one-pole (first order) reflection and transmission filters.
There is one serious practical difficulty in the general tone synthesis framework illustrated in FIG. 1B. As described above, the scattering junction 60 is characterized by the reflection filter R(s)=-c/(c+2xs), where x is the distance from the junction 7 to the extrapolated apex of the conical section 5. Since x&gt;0, the pole of the filter R(s) is at s=-c/(2x), which is in the left-half s-plane. As is well known, this corresponds to a stable one-pole filter. The scattering junction 20, on the other hand, is characterized by the reflection filter R(s)=-c/(c-2ys), where y is the distance from the junction 8 to the apex of the cone determined by conical section 3. In this case, the pole is at s=c/2y which is in the right-half s-plane, which corresponds to an unstable one-pole filter. It is known in the art that the reflection and transmission filters associated with a change in conical taper angle are unstable whenever the taper-angle is decreasing. At the left cone-cylinder junction 8, the taper angle changes from positive to zero for right-going waves, i.e., decreasing, resulting in unstable reflection and transmission filters. Similarly, for left-going waves incident on the junction 8, the taper angle changes from zero to negative, again decreasing, and again resulting in unstable reflection and transmission filters. At the right cylinder-cone junction 7, the taper angle changes from zero to positive for right-going waves, resulting in stable reflection and transmission filters, and so on. Since the physical instrument is passive and cannot create energy, every unstable pole in the model must be canceled by a zero within the context of the overall system. However, as is well known in the field of control systems, it is not feasible in finite-precision practical implementations to attempt to cancel an unstable pole with a zero. This situation prevents straightforward application of the modeling principles outlined above. One way this difficulty has been addressed in practice is to combine adjacent tube sections in order to avoid use of unstable poles. In the example of FIGS. 1A and 1B, only junction 8 contains unstable components, and creating a combined high-order scattering junction including the tube sections 3 and 4, thus collapsing junctions 9 and 7 into a single very-high-order junction (characterized by its two-by-two scattering matrix transfer function), unstable poles are avoided. However, this adds greatly to the computational expense, and inhibits further model extensions, such as the introduction of a register hole in tube section 2, because plural physical elements (two acoustic tubes in this case) are being combined into a single mathematical abstraction.
A second drawback in tone synthesis systems such as illustrated in FIGS. 1A and 1B is that flaring tube sections such as the bell 6 require very high-order filters, leading to high expense in the implementation. For example, a straightforward discrete-time model of the bell is to use its sampled reflection impulse response ("reflectance") as a convolution filter. This yields a trivially designed finite-impulse-response (FIR) filter model for the reflectance. As a specific example, an empirically derived trumpet-bell reflectance was found to have an impulse response duration on the order of 10 ms which is on the order of 400 samples at a 44.1 kHz sampling rate. While a length 400 FIR filter can faithfully model the trumpet-bell reflectance, such a filter requires 400 multiply-adds per sample of digital sound generated by the synthesizer, and this is far more expensive computationally than the other components of a trumpet model. The one-pole filter 21 in the cone-cylinder junction, by contrast, requires only one multiply-add per sample.
Tone synthesis systems such as illustrated in FIGS. 1A and 1B may be implemented in hardware, although it is somewhat more common presently to implement them in software utilizing one or more digital signal processing (DSP) chips. In recent years, it has additionally become feasible to implement complete tone synthesizers such as depicted in FIG. 1B entirely in software on a general purpose personal computer. For example, there are presently many "software synthesizer" products available for the Windows operating environment which run entirely on the general purpose Pentium processor, requiring no special hardware beyond the standard sound support.
Because tone synthesis systems are being deployed more and more in the form of software on general purpose personal computers, it is highly desirable to find ways to reduce the computational expense of the reflection and transmission filters associated with non-conical, non-cylindrical acoustic tube segments.
Instead of using the sampled bell reflectance as a large FIR convolution filter, an infinite-impulse-response (IIR) digital filter can be designed to approximate the bell reflection response. It is known in the art that IIR filters can generally approximate a given impulse response with much less computation than an FIR filter because IIR filters are recursive. The recursive filter-design method used to produce an IIR filter from the measured bell reflectance should faithfully match the phase of the bell reflection frequency response (the "phase reflectance"), because that affects the tuning of the horn resonances. The filter-design method must also match well the magnitude of the bell reflection frequency response (the "amplitude reflectance") because that strongly affects the strength ("Q") of the horn resonances. However, known phase-sensitive IIR filter-design methods perform poorly when applied to a measured bell reflectance. This is due mainly to the long, slowly rising, quasi-exponential portion of the time-domain response, arising from the smoothly flaring bore profile that is characteristic of musical horns. As a result, there is a need for more effective digital filter design techniques in this context.